#include "mainwindow.h"
#include "ui_mainwindow.h"
#include <QMessageBox>
#include<QPushButton>
#include<QDebug>

MainWindow::MainWindow(QWidget *parent)
    : QMainWindow(parent)
    , ui(new Ui::MainWindow)
{
    ui->setupUi(this);

}

MainWindow::~MainWindow()
{
    delete ui;
}

void MainWindow::on_pushButton_clicked()
{
    //创建QMessageBox
    QMessageBox* messageBox=new QMessageBox(this);
    messageBox->setWindowTitle("对话框标题");
    messageBox->setText("对话框文本");
    messageBox->setIcon(QMessageBox::Warning);
    messageBox->setStandardButtons(QMessageBox::Ok|QMessageBox::Save|QMessageBox::Cancel);

    //QPushButton* button=new QPushButton("按钮",messageBox);
    //messageBox->addButton(button,QMessageBox::AcceptRole);
    //connect(button,&QPushButton::clicked,this,&MainWindow::handle);

    int result=messageBox->exec();
    if(result==QMessageBox::Ok){
        qDebug()<<"OK";
    }else if(result==QMessageBox::Save){
        qDebug()<<"Save";
    }else if(result==QMessageBox::Cancel){
        qDebug()<<"Cancel";
    }

    //非模态弹框，而QMessageBox使用场景更多是模态的
    //messageBox->show();
    //弹出模态对话框，当对话框处于弹出状态时，代码会在exec这里停下，一直到对话框被关闭
    //messageBox->exec();

    //不用担心这里直接delete对话框会一闪而过，上面的代码走到messageBox->exec()就停下了，直到对话框被关闭
    //delete messageBox;
    //或者通过属性来关闭对话框
    messageBox->setAttribute(Qt::WA_DeleteOnClose);
}

